home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Dev / Meshwriter_lib / Library / samples / pyramid.c < prev    next >
C/C++ Source or Header  |  1999-12-03  |  3KB  |  85 lines

  1. /*
  2. **      $VER: pyramid.c 1.00 (20.3.1999)
  3. **
  4. **      Creation date     : 20.3.1999
  5. **
  6. **      Description       :
  7. **         MeshWriter testprogram shape module.
  8. **
  9. **
  10. **      Written by Stephan Bielmann
  11. **
  12. */
  13.  
  14. /*************************** Includes *******************************/
  15.  
  16. #include <meshwriter/meshwriter.h>
  17. #include <pragma/meshwriter_lib.h>
  18.  
  19. /**************************** Defines *******************************/
  20.  
  21. /*********************** Type definitions ***************************/
  22.  
  23. /********************** Private functions ***************************/
  24.  
  25. /********************** Public functions ****************************/
  26.  
  27. /********************************************************************\
  28. *                                                                    *
  29. * Name         : cube                                                *
  30. *                                                                    *
  31. * Description  : Draws a multicolored cube mesh. By setting all      *
  32. *                vertice values direct as fixed values.              *
  33. *                                                                    *
  34. * Arguments    : mesh    IN  : An initialized mesh handle.           *
  35. *                                                                    *
  36. * Comment      :                                                     *
  37. *                                                                    *
  38. \********************************************************************/
  39. void pyramid (ULONG mesh) {
  40.  ULONG mat1,mat2,mat3,mat4;
  41.  TOCLColor color;
  42.  TOCLVertex v1,v2,v3;
  43.   
  44.  MWLMeshMaterialAdd(mesh,&mat1);
  45.  color.r=0,color.g=0,color.b=255;
  46.  MWLMeshMaterialDiffuseColorSet(mesh,mat1,&color);
  47.  MWLMeshMaterialShininessSet(mesh,mat1,1);
  48.  MWLMeshMaterialTransparencySet(mesh,mat1,0);
  49.  
  50.  MWLMeshMaterialAdd(mesh,&mat2);
  51.  color.r=0,color.g=255,color.b=0;
  52.  MWLMeshMaterialDiffuseColorSet(mesh,mat2,&color);
  53.  MWLMeshMaterialShininessSet(mesh,mat2,1);
  54.  MWLMeshMaterialTransparencySet(mesh,mat2,0);
  55.  
  56.  MWLMeshMaterialAdd(mesh,&mat3);
  57.  color.r=255,color.g=0,color.b=0;
  58.  MWLMeshMaterialDiffuseColorSet(mesh,mat3,&color);
  59.  MWLMeshMaterialShininessSet(mesh,mat3,1);
  60.  MWLMeshMaterialTransparencySet(mesh,mat3,0);
  61.  
  62.  MWLMeshMaterialAdd(mesh,&mat4);
  63.  color.r=255,color.g=0,color.b=255;
  64.  MWLMeshMaterialDiffuseColorSet(mesh,mat4,&color);
  65.  MWLMeshMaterialShininessSet(mesh,mat4,1);
  66.  MWLMeshMaterialTransparencySet(mesh,mat4,0);
  67.  
  68.  MWLMeshNameSet(mesh,"Pyramid");
  69.         
  70.  v1.x=-10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=-10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  71.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  72.  v1.x=10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  73.  MWLMeshTriangleAdd(mesh,mat2,&v1,&v2,&v3);
  74.  v1.x=10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  75.  MWLMeshTriangleAdd(mesh,mat3,&v1,&v2,&v3);
  76.  v1.x=-10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=-10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  77.  MWLMeshTriangleAdd(mesh,mat4,&v1,&v2,&v3);
  78.  v1.x=-10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=10,v2.z=-10;v3.x=-10,v3.y=10,v3.z=-10;
  79.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  80.  v1.x=10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=-10,v2.z=-10;v3.x=10,v3.y=-10,v3.z=-10;
  81.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  82. }
  83.  
  84. /************************* End of file ******************************/
  85.